The “Internet of Things” (IoT) is designed to support internetworking of physical devices such as appliances, vehicles, buildings, and other items that are embedded with electronics, software, sensors, actuators, and network connectivity that enable the devices to collect and exchange data over the Internet. Application servers in the IoT ecosystem provide information or instructions to devices in the IoT ecosystem by transmitting queries. Queries can be used to initiate actions such as data collection by the devices, to request transmission of the collected data from the devices to the application server, to provide data such as software upgrades to the devices, to notify devices of upcoming broadcast transmissions from the application server, and the like. The IoT ecosystem involves a diverse user base that spans numerous vertical markets including industrial applications, smart homes, telematics, wearables, connected cars, utilities, healthcare, and the like. The characteristics of the queries transmitted to devices in different markets can vary significantly. For example, a query can include relatively small number of bytes that are transmitted to a single device in a non-time-critical query (e.g., a request to turn on the air conditioning in a connected car) or the query could include a relatively large number of bytes that are transmitted to numerous devices in a mission critical query (e.g., transmitting an alert to smart homes, connected cars, cell phones, and wearable devices located in the path of a tornado).
A large (and rapidly growing) number of IoT devices support cellular access, e.g., according to standards defined by the Third Generation Partnership Project (3GPP). For example, approximately 20% of IoT devices are expected to support cellular technology by 2020, which corresponds to an estimated 4 to 10 billion cellular-enabled IoT devices. Wireless networks that support cellular access (potentially in combination with other networks such as Wi-Fi networks) provide multiple communication paths between application servers and cellular-enabled devices. Data bearers can be established in the user plane to provide a communication path for transmitting queries at medium to high data rates. Bearer-less communication paths can be established in the control plane for transmitting queries at low data rates. For example, non-access stratum (NAS) signaling can be used to transmit queries via a service capability exposure function (SCEF) or a short message service (SMS) server. In wireless networks that support Wi-Fi, application servers can also transmit queries along a communication path that includes a wireless local area network (WLAN) gateway and a Wi-Fi access point. Queries can also be unicast, multicast, or broadcast.